<%--
  Created by IntelliJ IDEA.
  User: dllo
  Date: 18/5/16
  Time: 上午11:30
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>request</title>
</head>
<body>
request对象封装了Http请求的所有信息,不分get还是post,用法和servlet中的request没有什么区别
<%
    String contextPath = request.getContextPath();
    String serverPath = request.getServletPath();
    out.print("<br>");
    out.print("context:" + contextPath);
    out.print("<br>");
    out.print("servlet:" + serverPath);
%>
<%--


--%>
<%--
javaweb中的路径:
一条完整的网址由以下几部分组成
协议://IP地址:端口号/项目名称/各个servlet或jsp的配置路径
例如:
http://localhost:8080/Code0516/myup
Code0516为项目名称
其中,我们的项目名称可以为空,idea默认帮我们启动项目,项目名称就是空的,但是实际部署项目时,项目名称往往不为空,
因为一个服务器上就会跑1个Tomcat,当我们有多个项目需要运行时,就需要使用项目名称来区分这个tomcat中的各个项目

在我们平时使用路径的时候有2种写法
1.绝对路径
以/开头,真正访问的时候,会从拼接到端口号后面
2.相对路径
以非/开头,拼接的是是相对于当前页面所处的路径

例如:项目名称为ABC,要访问的页面地址是:
http://localhost:8080/ABC/a/b/c/target.jsp
当前页面地址是:
http://localhost:8080/ABC/a/e/f/now.jsp
使用绝对路径:
/ABC/a/b/c/target.jsp
使用相对路径
../../b/c/target.jsp

可以看出使用相对路径,不需要关心项目名称,但是对两个文件的位置要求比较严格,而绝对路径,则必须在前面加上项目名称,但是项目
名称之后有可能更改

解决办法:
统一使用绝对路径,项目名称使用request对象的contextPath方法来动态获取
--%>
</body>
</html>
